循環神經網路 (Recurrent neural network , RNN)
是神經網路的一種。但單純的RNN因為無法處理隨著遞歸、權重指數級爆炸或梯度消失的問題,難以捕捉長期時間關聯,所以透過結合LSTM(Long Short-Term Memory , 長短期記憶)可以更好解決這個問題。手寫辨識是最早成功利用RNN的研究成果。
RNN同時是一類特殊的神經網路,創建的目的是處理順序輸入、語音、文字和時間等序列資料。RNN不同於前饋網路將資料作為固定長度的向量進行處理,而是透過將資料作為向量序列來進行處理,且每個向量的處理取決於前一階段的隱藏階段。
雙向循環神經網路 (Bidirectional recurrent neural networks , BRNN)
與傳統循環神經網路之前的區別是有兩個不同的循環隱藏層,其中一個向前處理輸入序列,另一個向後處理輸入序列(就是將兩個相反的隱藏層連接到同一個輸出)
;除此之外準確性也提高許多。
常見應用:
(圖片擷取至網路)
雙向循環神經網路的工作原理
1. 輸入序列 : 資料點序列 (將每個資料表示為具有相同維度的向量)
輸入到BRNN中。
2. 雙重處理 : 前向與後向都能用來處理資料。
3. 計算隱藏狀態 : 使用輸入和先前隱藏狀態的加權和的非線性激活函數來計算每個步驟的隱藏階段。
4. 確定輸出 : 非線性激活函數用於根據隱藏狀態和多個輸出權重的加權和來確定每一步的輸出。
5. 訓練 : 透過監督學習方法來進行訓練。